﻿using LinkyPOS.Class;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LinkyPOS
{
    public partial class Kayitlar : Form
    {
        public Kayitlar()
        {
            InitializeComponent();
        }
        siparisler2 s = new siparisler2();
        musteriler2 m = new musteriler2();
        urun u = new urun();
        Siparisdetaylari sp = new Siparisdetaylari();
        odemedurumu o = new odemedurumu();
    
        private void textBox8_TextChanged(object sender, EventArgs e)
        {
            listBox1.Items.Clear();

                        List<siparisler2> lst = siparisler2.sipkodulikegetir2(textBox8.Text);
                    foreach (var item in lst)
                    {
                        listBox1.Items.Add(item.Sipariskodu);
                    }
          
           
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                

                s.Sipariskodu = listBox1.SelectedItem.ToString();
                s.siparisgetir(s.Sipariskodu);

                m.MusteriID = s.MusteriID;
                m.musterigetir();
                txtisim.Text = m.Isim;
                txtSoyisim.Text = m.Soyisim;
                txtTelefon.Text = m.Telefon;
                txtEposta.Text = m.Eposta;
                lblMusteriID.Text = "Musteri ID =" + m.MusteriID.ToString();
                lblSiparisID.Text = "Sipariş No =" + s.Sipariskodu;
                txtBakiye.Text = s.Toplambrut.ToString();
                txtiskonto.Text = s.Iskonto.ToString();
                txtNet.Text = s.Net.ToString();
                lblAlim.Text =s.Alimtarihi.ToString("D") + " " + s.Alimsaati;
                lblTeslim.Text = s.Odemetarihi.ToString("D");
                comboBox1.Text = s.Referans;
                int durum=s.Durum;
              
              
                if (durum==1)
                {
                    label6.Text = "AÇIK SİPARİŞ";
                }
                else if(durum==2)
                {
                    label6.Text = "AÇIK SİPARİŞ";
                }
                else if (durum==3)
	{
        label6.Text = "AÇIK SİPARİŞ";
	}
                else
                {
                    label6.Text = "KAPALI SİPARİŞ VEYA İPTAL";
                }
                
                // burada ilgili siparis detaylarini listviewa ekliyoruz


              

                SqlConnection sqlcon = connection.baglanti;
                SqlCommand sqlcmd = new SqlCommand("select * from siparisdetaylari where sipariskodu=@sipariskodu ",sqlcon);
                sqlcmd.Parameters.AddWithValue("@sipariskodu", s.Sipariskodu);
                sqlcon.Open();
                SqlDataReader sdr = sqlcmd.ExecuteReader();
                while (sdr.Read())
                {
                    ListViewItem list = new ListViewItem();
                    u.Urunid = Convert.ToInt32(sdr["urunID"]);
                    u.urungetir();
                 
                    list.Text = u.Urunadi;
                    list.SubItems.Add(sdr["tip"].ToString()); // COLUMN 1
                    list.SubItems.Add(sdr["netfiyat"].ToString()); // COLUMN 2    
                    list.SubItems.Add(sdr["aciklama"].ToString());
                    list.SubItems.Add(sdr["marka"].ToString());
                    list.SubItems.Add(sdr["renk"].ToString());

                    listView1.Items.Add(list);

                }
                sqlcon.Close();






                panel1.Visible = false;
                

            }
            catch (Exception d)
            {

                err2 er = new err2(d.ToString(), this.Name);

            }


        }

        private void btnSiparis_Click(object sender, EventArgs e)
        {
           
        }

        private void button5_Click(object sender, EventArgs e)
        {
            
           

        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
           
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

        private void Kayitlar_Load(object sender, EventArgs e)
        {
            this.Location = new Point(0, 0);
            this.Size = Screen.PrimaryScreen.WorkingArea.Size;
            label5.Text = panel.magazakodu + "-";
            lblSiparisID.Text = panel.magazakodu + "-0000";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                double a = Convert.ToDouble(textBox1.Text.Replace('.', ','));
                if (Convert.ToDateTime(dateTimePicker1.Text)>Convert.ToDateTime(dateTimePicker2.Text))
                {
                    MessageBox.Show("Kayıt tarihi ödeme tarihinden daha eski bir tarih olamaz ");
                    return;
                }
                try
                {
                    s.Alimtarihi =Convert.ToDateTime(dateTimePicker1.Text);
                    s.Odemetarihi = Convert.ToDateTime(dateTimePicker2.Text);
                    s.Toplambrut =Convert.ToDouble(textBox1.Text);
                    s.Net = Convert.ToDouble(textBox1.Text);
                    if (comboBox3.Text=="Nakit")
                    {
                        if (s.Alimtarihi<s.Odemetarihi)
                        {
                            s.Durum = 6;
                        }
                        else
                        {
                            s.Durum = 4;
                        }
                    } 
                    else if (comboBox3.Text == "Kredi Kartı ")
                    {
                        if (s.Alimtarihi < s.Odemetarihi)
                        {
                            s.Durum =7;
                        }
                        else
                        {
                            s.Durum = 5;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Lütfen Bİr Ödeme Tipi Seçiniz");
                        return;

                    }

                    s.siparisdurumset3();
                    MessageBox.Show("İşleminiz başarı ile gerekleştirildi \n lütfen kaydı tekrar çağırın");

                }
                catch (Exception)
                {
                    
                    throw;
                }
            }
            catch (Exception)
            {

                MessageBox.Show("Tutar bir sayı olmalıdır");
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            ayarlar2 a = new ayarlar2();
            
            if (a.Adminsifresi==textBox2.Text)
            {
                panel2.Visible = false;
            }
        }

        private void txtIsimSoyisim_TextChanged(object sender, EventArgs e)
        {

            listBox1.Items.Clear();

            List<siparisler2> lst2 = siparisler2.sipkodulikegetirisim2(txtIsimSoyisim.Text);
            foreach (var item in lst2)
            {
                listBox1.Items.Add(item.Sipariskodu);
            }
                   
              
        }

        private void txtPhone_TextChanged(object sender, EventArgs e)
        {

            listBox1.Items.Clear();


            List<siparisler2> lst3 = siparisler2.sipkodulikegetitelefon2(txtPhone.Text);
            foreach (var item in lst3)
            {
                listBox1.Items.Add(item.Sipariskodu);
            }
         

        }
    }
}
